
using System;

namespace LastFMGenNHibernate.EN.LastFM
{
        public class SuscritoEN                 :                           LastFMGenNHibernate.EN.LastFM.UsuarioRegistradoEN


        {
        public SuscritoEN()
        {
        }



        public SuscritoEN(int id, String nombre, String correo, bool suscrito, Nullable<DateTime> fecha, int tiempoEscuchado, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.EventoEN> evento, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.InvitacionEN> invitacion, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.InvitacionEN> invitacion_0, bool sesionIniciada, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.CancionEN> cancionFavoritos, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.CancionEN> cancionColeccion, String estado)
        {
                this.init (id, nombre, correo, suscrito, fecha, tiempoEscuchado, evento, invitacion, invitacion_0, sesionIniciada, cancionFavoritos, cancionColeccion, estado);
        }


        public SuscritoEN(SuscritoEN suscrito)
        {
                this.init (suscrito.Id, suscrito.Nombre, suscrito.Correo, suscrito.Suscrito, suscrito.Fecha, suscrito.TiempoEscuchado, suscrito.Evento, suscrito.Invitacion, suscrito.Invitacion_0, suscrito.SesionIniciada, suscrito.CancionFavoritos, suscrito.CancionColeccion, suscrito.Estado);
        }

        private void init (int id, String nombre, String correo, bool suscrito, Nullable<DateTime> fecha, int tiempoEscuchado, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.EventoEN> evento, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.InvitacionEN> invitacion, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.InvitacionEN> invitacion_0, bool sesionIniciada, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.CancionEN> cancionFavoritos, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.CancionEN> cancionColeccion, String estado)
        {
                this.Id = id;


                this.Nombre = nombre;

                this.Correo = correo;

                this.Suscrito = suscrito;

                this.Fecha = fecha;

                this.TiempoEscuchado = tiempoEscuchado;

                this.Evento = evento;

                this.Invitacion = invitacion;

                this.Invitacion_0 = invitacion_0;

                this.SesionIniciada = sesionIniciada;

                this.CancionFavoritos = cancionFavoritos;

                this.CancionColeccion = cancionColeccion;

                this.Estado = estado;
        }

        public override bool Equals (object obj)
        {
                if (obj == null)
                        return false;
                SuscritoEN t = obj as SuscritoEN;
                if (t == null)
                        return false;
                if (Id.Equals (t.Id))
                        return true;
                else
                        return false;
        }

        public override int GetHashCode ()
        {
                int hash = 13;

                hash += (null == Id ? 0 : this.Id.GetHashCode ());
                return hash;
        }
        }
}
